工控網(wǎng)首頁(yè)
>

應(yīng)用設(shè)計(jì)

>

西門(mén)子S7-200在步進(jìn)電機(jī)定位控制中的應(yīng)用

西門(mén)子S7-200在步進(jìn)電機(jī)定位控制中的應(yīng)用

2007/10/29 15:42:00
1 引言 PLC輸出的集成脈沖可通過(guò)步進(jìn)電機(jī)進(jìn)行定位控制。關(guān)于定位控制,調(diào)節(jié)和控制操作之間存在一些區(qū)別。步進(jìn)電機(jī)不需要連續(xù)的位置控制,而在控制操作中得到應(yīng)用。在以下的程序例子中,借助于CPU214所產(chǎn)生的集成脈沖輸出,通過(guò)步進(jìn)電機(jī)來(lái)實(shí)現(xiàn)相對(duì)的位置控制。雖然這種類(lèi)型的定位控制不需要參考點(diǎn),本例還是粗略地描述了確定參考點(diǎn)的簡(jiǎn)單步驟。因?yàn)閷?shí)際上它總是相對(duì)一根軸確定一個(gè)固定的參考點(diǎn),因此,用戶借助于一個(gè)輸入字節(jié)的對(duì)偶碼(Dual coding)給CPU指定定位角度。用戶程序根據(jù)該碼計(jì)算出所需的定位步數(shù),再由CPU輸出相關(guān)個(gè)數(shù)的控制脈沖。 2 系統(tǒng)結(jié)構(gòu) 如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu) 3 硬件配置 如表1所示。
4 軟件結(jié)構(gòu) 4.1 PLC的輸入信號(hào)與輸出信號(hào) PLC的部分輸入信號(hào)與輸出信號(hào),以及標(biāo)志位如表2所示。 4.2 系統(tǒng)軟件設(shè)計(jì) PLC的程序框圖如圖2所示。
4.3 初始化 在程序的第一個(gè)掃描周期(SM0.1=1),初始化重要參數(shù)。選擇旋轉(zhuǎn)方向和解除聯(lián)鎖。 4.4 設(shè)置和取消參考點(diǎn) 如果還沒(méi)有確定參考點(diǎn),那么參考點(diǎn)曲線應(yīng)從按“START”按扭(I1.0)開(kāi)始。CPU有可能輸出最大數(shù)量的控制脈沖。在所需的參考點(diǎn),按“設(shè)置/取消參考點(diǎn)”開(kāi)關(guān)(I1.4)后,首先調(diào)用停止電機(jī)的子程序。然后,將參考點(diǎn)標(biāo)志位M0.3置成1,再把新的操作模式“定位控制激活”顯示在輸出端Q1.0。 如果I1.4的開(kāi)關(guān)已激活,而且“定位控制”也被激活(M0.3=1),則切換到“參考點(diǎn)曲線”參考點(diǎn)曲線。在子程序1中,將M0.3置成0,并取消“定位控制激活”的顯示(Q1.0=0)。此外,控制還為輸出最大數(shù)量的控制脈沖做準(zhǔn)備。當(dāng)再次激活I(lǐng)1.4開(kāi)關(guān),便在兩個(gè)模式之間切換。如果此信號(hào)產(chǎn)生,同時(shí)電機(jī)在運(yùn)轉(zhuǎn),那么電機(jī)就自動(dòng)停止。 實(shí)際上,一個(gè)與驅(qū)動(dòng)器連接的參考點(diǎn)開(kāi)關(guān)將代替手動(dòng)操作切換開(kāi)關(guān)的使用,所以,參考點(diǎn)標(biāo)志能解決模式切換。 4.5 定位控制 如果確定了一個(gè)參考點(diǎn)(M0.3=1)而且沒(méi)有聯(lián)鎖,那么就執(zhí)行相對(duì)的定位控制。在子程序2中,控制器從輸入字節(jié)IBO讀出對(duì)偶碼方式的定位角度后,再存入字節(jié)MB11。與此角度有關(guān)的脈沖數(shù),根據(jù)下面的公式計(jì)算: N=φ/360°×S 式中:N-控制脈沖數(shù) φ-旋轉(zhuǎn)角度 S-每轉(zhuǎn)所需的步數(shù) 該程序所使用的步進(jìn)電機(jī)采用半步操作方式(S=1000)。在子程序3中循環(huán)計(jì)算步數(shù),如果現(xiàn)在按“START”按鈕(I1.0),CPU將從輸出端Q0.0輸出所計(jì)算的控制脈沖個(gè)數(shù),而且電機(jī)將根據(jù)相應(yīng)的步數(shù)來(lái)轉(zhuǎn)動(dòng),并在內(nèi)部將“電機(jī)轉(zhuǎn)動(dòng)”的標(biāo)志位M0.1置成1。 在完整的脈沖輸出之后,執(zhí)行中斷程序0,此程序?qū)0.1置成0,以便能夠再次起動(dòng)電機(jī)。 4.6 停止電機(jī) 按“STOP”(停止)按扭(I1.1),可在任何時(shí)候停止電機(jī)。執(zhí)行子程序0中與此有關(guān)的指令。 5 程序和注釋 //標(biāo)題:用脈沖輸出進(jìn)行定位控制 //主程序 LD SM0.1 //僅首次掃描周期SM0.1才為1。 R M0.0,128 //MD0至MD12復(fù)位 ATCH 0,19 //把中斷程序0分配給中斷事件19(脈沖串終止) ENI //允許中斷 //脈沖輸出功能的初始化 MOVW 500,SMW68 //脈沖周期T=500us MOVW 0,SMW70 //脈沖寬度為0(脈沖調(diào)制) MOVD 429496700,SMD72 //為參考點(diǎn)設(shè)定的最大脈沖數(shù) //設(shè)置逆時(shí)針旋轉(zhuǎn) LDN M0.1 //若電機(jī)停止 A I1.5 //且旋轉(zhuǎn)方向開(kāi)關(guān)=1 S Q0.2,1 //則逆時(shí)針旋轉(zhuǎn)(Q0.2=1) //設(shè)置順時(shí)針旋轉(zhuǎn) LDN M0.1 //若電機(jī)停止 AN I1.5 //且旋轉(zhuǎn)方向開(kāi)關(guān)=0 R Q0.2,1 //則逆時(shí)針旋轉(zhuǎn)(Q0.2=0) //聯(lián)鎖 LD I1.1 //若按“STOP”(停止)按鈕 S M0.2,1 //則激活聯(lián)鎖(M0.2=1) //解除聯(lián)鎖 LDN I1.1 //若“START”(啟動(dòng))按鈕松開(kāi) AN I1.0 //且“STOP”(停止)按鈕松開(kāi) R M0.2,1 //則解除聯(lián)鎖(M0.2=0) //確定操作模式(參考點(diǎn)定位控制) LD I1.4 //若按“設(shè)置/取消參考點(diǎn)”按鈕 EU //上升沿 CALL 1 //則調(diào)用子程序1 //啟動(dòng)電機(jī) LD I1.0 //若按“START”(啟動(dòng))按鈕 EU //上升沿 AN M0.1 //且電機(jī)停止 AN M0.2 //且無(wú)聯(lián)鎖 AD≥ SMD72,1 //且步數(shù)≥1,則 MOVB 16#85,SMB67 //置脈沖輸出功能(PTO)的控制位 PLS 0 //啟動(dòng)脈沖輸出(Q0.0) S M0.1,1 //“電機(jī)運(yùn)行”標(biāo)志位置位(M0.1=1) //定位控制 LD M0.3 //若已激活“定位控制” 操作模式 AN M0.1 //且電機(jī)停止 CALL 2 //則調(diào)用子程序2 //停止電機(jī) LD I1.1 //若按“STOP”(停止)按鈕 EU //上升沿 A M0.1 //且電機(jī)運(yùn)行,則 CALL 0 //則調(diào)用子程序0 MEND //主程序結(jié)束 //子程序1 SBR 0 //子程序0停止電機(jī) MOVB 16#CB,SMB67 //激活脈寬調(diào)制 PLS 0 //停止輸出脈沖到Q0.0 R M0.1,1 //“電機(jī)運(yùn)行”標(biāo)志位復(fù)位(M0.1=0) RET //子程序0結(jié)束 SBR1 //子程序1,“確定操作模式” LD M0.1 //若電機(jī)運(yùn)行 CALL 0 //則調(diào)用子程序0,停止電機(jī) //申請(qǐng)“參考點(diǎn)曲線” LD M0.3 //若已激活“定位控制”,則 R M0.3,1 //參考點(diǎn)標(biāo)志位;復(fù)位(M0.3=0) R Q1.0,1 //取消“定位控制激活”信息(Q1.0=0) MOVD 429496700,SMD72 //為新的“參考點(diǎn)曲線”設(shè)定最大的脈沖數(shù)。 CRET //條件返回到主程序。 //申請(qǐng)“定位控制” LDN M0.3 //若未設(shè)置參考點(diǎn)(M0.3=0),則 S M0.3,1 //參考點(diǎn)標(biāo)志位置位(M0.3=1) S Q1.0,1 //輸出“定位控制激活”信息(Q1.0=1) RET //子程序1結(jié)束 //子程序2 SBR2 //子程序2,“定位控制” MOVB IB0,MB11 //把定位角度從IBO拷到MD8的最低有效字節(jié)MB11。 R M8.0,24 //MB8至MB10清零 DIV 9,MD8 //角度/9=q1+r1 MOVW MW8,MW14 //把r1存入MD12 MUL 25,MD8 //q1×25→MD8 MUL 25,MD12 DIV 9,MD12 // r1×25/9= q2+r2 CALL 3 //在子程序3中循環(huán)步數(shù) MOVW 0,MW12 //刪除r2 +D MD12,MD8 //把步數(shù)寫(xiě)入MD8 MOVD MD8,SMD72 //把步數(shù)傳到SMD72 RET //子程序2結(jié)束 //子程序3 SBR3 //子程序3,“循環(huán)步數(shù)” LDW≥MW12,5 //如果r2≥5/9,則 INCW MW14 //步數(shù)增加1。 RET //子程序3結(jié)束 //中斷程序0,“脈沖輸出終止” INT0 //中斷程序0 R M0.1,1 //“電機(jī)運(yùn)行”標(biāo)志位復(fù)位(M0.1=0) RET //子程序0結(jié)束 6 結(jié)束語(yǔ) 通過(guò)對(duì)硬件和軟件的合理設(shè)計(jì),用較為價(jià)廉的西門(mén)子S7-200系列PLC作為核心控制部件,構(gòu)成的定位系統(tǒng)能夠達(dá)到精確定位的目的。特別應(yīng)指出的是通過(guò)靈活、巧妙的應(yīng)用PLC的指令系統(tǒng),可使系統(tǒng)實(shí)現(xiàn)高精度定位。
投訴建議

提交

查看更多評(píng)論
其他資訊

查看更多

超越傳統(tǒng)直覺(jué),MATLAB/Simulink助力重型機(jī)械的智能化轉(zhuǎn)型

新大陸自動(dòng)識(shí)別精彩亮相2024華南國(guó)際工業(yè)博覽會(huì)

派拓網(wǎng)絡(luò)被Forrester評(píng)為XDR領(lǐng)域領(lǐng)導(dǎo)者

智能工控,存儲(chǔ)強(qiáng)基 | ??低晭?lái)精彩主題演講

展會(huì)|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會(huì)